/**
 * describe:
 *
 * @author chaP
 * @date 2019/03/10
 */
package CodingTest.AC20190310;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 题目描述
 * 2018拼多多秋招笔试题
 六一儿童节，老师带了很多好吃的巧克力到幼儿园。每块巧克力j的重量为w[j]，对于每个小朋友i，当他分到的巧克力大小达到h[i] (即w[j]>=h[i])，他才会上去表演节目。老师的目标是将巧克力分发给孩子们，使得最多的小孩上台表演。可以保证每个w[i]> 0且不能将多块巧克力分给一个孩子或将一块分给多个孩子。
 输入描述:
 第一行：n，表示h数组元素个数
 第二行：n个h数组元素
 第三行：m，表示w数组元素个数
 第四行：m个w数组元素
 输出描述:
 上台表演学生人数
 示例1
 输入

 3
 2 2 3
 2
 3 1
 输出

 1
 */
public class ChildrenFestival {
    /**
     * n :表示h的数组元素个数
     *h:每个小朋友的极限
     * m:表示w的数组元素个数
     * w:每块巧克力的重量
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int[] h = new int[n];
        for(int i = 0;i<n;i++){
            h[i] = sc.nextInt();
        }
        int m = sc.nextInt();
        int [] w = new int[m];
        for(int j = 0;j<m;j++){
            w[j] = sc.nextInt();
        }
        ChildrenFestival cf = new ChildrenFestival();
        System.out.println(cf.Main(n,h,m,w));

    }
    public int Main(int n,int[] h,int m,int w[]){
        Arrays.sort(h);
        Arrays.sort(w);
        int count = 0;
        if(n>=m){ // 小朋友数大于巧克力数
            for(int i = 0,j = 0;i<m;i++){
                if(w[i] >= h[j]){
                    j++;
                    count ++;
                }else{
                    continue;
                }
            }

        }else{ // 巧克力数大于小朋友数
            for(int i = m-1,j = n-1;j>=0;j--){// i表示巧克力，j表示小朋友
                if(w[i]>=h[j]){
                    i--;
                    count++;
                }else{
                    continue;
                }
            }


        } return count;
    }


}
